.\"   $Id: GENLIB_BUS.3,v 1.1 2002/03/08 14:08:09 fred Exp $
.\" @(#)GENLIB_BUS.3 2.11 91/08/22; Labo Cao-vlsi; Author : Frederic Petrot
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
GENLIB_BUS
.XE \}
.TH GENLIB_BUS.3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
.SH NAME
GENLIB_BUS \- Creates a bus name for netlist
.SH SYNOPSIS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include <genlib.h>
char \(**GENLIB_BUS(busname, from, to);
char \(**busname;
long from, to;
.ft R
.fi
.so man1/alc_origin.1
.SH PARAMETERS
.TP 20
\fIbusname\fP
Common signal name for a bus
.TP
\fIfrom\fP
Starting index of the set of signal, \fIfrom\fP included
.TP
\fIto\fP
Ending index of the set of signal, \fIto\fP included
.SH DESCRIPTION
\fIGENLIB_BUS\fP Creates a set of names, based upon a common name, valid for the
genlib netlist
functions that manipulate the signal, and/or connector, concept.
They are:
.RS
\fBLOINS\fP(3)
.br
\fBLOCON\fP(3)
.RE
The \fIfrom, to\fP arguments give the boundaries of the bus to be created,
both of them being included in the set. The function allows increasing or
decreasing order busses, as one could expect.
.br
This function has a constant equivalent, it means that if the \fIfrom, to\fP
values are known at compilation time, one should better use,
for readability purposes, the "[n:m]" construct.
.SH EXAMPLE
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include <genlib.h>
main()
{
int b = 0;
int e = 12;
	/\(** Create a figure to work on  \(**/
	GENLIB_DEF_LOFIG("mycell");
	/\(** define interface  \(**/
	GENLIB_LOCON(GENLIB_BUS("i", b, e), INPUT, GENLIB_BUS("sig", b, e);
	GENLIB_LOCON("o[2:0]", OUTPUT, "sigout[4:6]");
	/\(** Place an instance \(**/
	GENLIB_LOINS("model","instance", GENLIB_BUS("sig", e/2), "sigout[6]", EOL);
	/\(** Save all that on disk \(**/
	GENLIB_SAVE_LOFIG();
}
.ft R
.fi
.SH SEE ALSO
.BR genlib (1),
.BR GENLIB_ELM (3).


.so man1/alc_bug_report.1

